﻿#ifndef XQACCOUNTDATA_H
#define XQACCOUNTDATA_H
#include<QString>
#include<QImage>
#include<QDateTime>
#include"XQUserInfoEnum.h"
#include"XQFileUrl.h"
#include"XQDatabaseData.h"
//账号信息
class XQAccountData:public XQDatabaseData
{
public:
	XQAccountData() = default;
	XQAccountData(bool base64, const QVariantMap& datas);
	XQAccountData(const QStringList& datas);
	XQAccountData(bool base64, const QVariantList& datas);
public:
	static QStringList Fields();
	QStringList fields()const override;
	//转VariantMap 输出
	QVariantMap toVariantMap(bool base64 = false,const QStringList& fields = QStringList())const override;
	//QVariantMap 数据构造
	void setDatas(const QVariantMap& datas, bool base64=false)override;
	void setDatas(const QStringList& datas, const QStringList& fields = QStringList())override;
	void setDatas(const QVariantList& datas, bool base64=false,const QStringList& fields = QStringList())override;
	//创建表的sql语句
	QString createTableSql(const QString& tableName)override;
public:

public:
	QDateTime ctime=QDateTime::currentDateTime();//创建时间
	QDateTime mtime = QDateTime::currentDateTime();//修改时间
	QImage portrait_data;//头像数据
	QString portrait_format="PNG";//头像格式
	QString account;//账号
	QString password;//密码
	QString email;//邮箱
	QString phone;//手机号码
	QString name;//名字
	GenderType gender = boy;//性别
	Permission permission= Permission::user;//权限
};
#endif // !XQAccount_H